.nav-normal {
    display: flex; // position: absolute;
    // width: 800px;
    // top: 50%;
    // left: 50%;
    // transform: translate(-50%, -50%);
    list-style: none;
    position: relative;
    z-index: 10;

    &>nav {
        position: relative;
        // padding: 20px; // font-size: 24px;
        color: #000;
        line-height: 1;
        transition: 0.1s all linear;
        cursor: pointer;
    }

    &>nav::before {
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        width: 0;
        height: 100%;
        border-bottom: 1px solid #000;
        transition: 0.1s all linear;
    }

    &>nav:hover::before {
        width: 100%;
        top: 0;
        left: 0; // transition-delay: 0.1s;
        border-bottom-color: #000;
        z-index: -1;
    }

    &>nav:hover~nav::before {
        left: 0;
    }

    &>nav:active {
        // background: #000;
        color: #000;
    }

    .nav-item {
        display: inline-block;
        color: inherit;
        padding: 20px;
        width: 100%;
        height: 100%;
        text-decoration: none;
    }

    .nav-item-active {
        color: $theme_color;
    }
}

.svgMutiLine {
    &>.btn-svgMutiLine {
        position: absolute;
        left: 0;
        top: -15%;
        width: 100%;
        height: 130%;
        color: $theme_color;

        &>rect {
            position: absolute;
            left: 0; // top: -10%;
            width: 100%;
            height: 100%;
        }
    }

    .shape {
        fill: transparent;
        stroke-width: 2px;
        stroke: $theme_color;
        stroke-dasharray: 140 400;
        stroke-dashoffset: -265;
        transition: all .8s;
    }

    &:hover {
        .shape {
            stroke: $theme_color;
            stroke-dasharray: 50 0;
            stroke-dashoffset: 0;
            stroke-width: 2px;
        }

        .btn-svgMutiLine {
            opacity: 1;
        }
    }
}

.m-btn {
    position: relative;
    display: inline-block;
    margin: 32px; // flex: 0 0 $width;
    text-align: center;
    cursor: pointer; // font-size: 32px;
    transition: .2s all;
    box-sizing: border-box;
    color: #000;
}

.regularShadowScale {
    color: $theme_color;
    border: 1px solid $theme_color;

    &:hover {
        // text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
        // box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.2);
    }

    &::after {
        position: absolute;
        content: "";
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        transition: .5s outline-color, .5s outline, .5s transform;
        transition-timing-function: cubic-bezier(0.2, .8, 0.25, .8);
        transform: scale3d(1.1, 1.3, 1);
        outline: 1px solid;
        outline-color: rgba($color:$theme_color, $alpha: 0);
        outline-offset: 0px;
    }

    &:hover::after {
        top: 10px;
        left: 10px;
        right: 10px;
        bottom: 10px;
        transform: scale(1);
        outline: 1px solid;
        outline-color: rgba($color:$theme_color, $alpha: .6);
        outline-offset: 10px; // transition:all .5s;
        transition: .5s outline-offset, .5s outline-color, .5s outline;
        transition-timing-function: cubic-bezier(0.2, .8, 0.25, .8); // transition: .5s outline-offset cubic-bezier(0.2, .8, 0.25, .8), .5s outline-color cubic-bezier(0.2, .8, 0.25, .8), .5s outline cubic-bezier(0.2, .8, 0.25, .8);
    }
}

.regularShadowMove {
    color: $theme_color;
    border: 1px solid $theme_color;
    overflow: hidden;

    &:hover {
        // text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
        // box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.2);
    }

    &::before {
        content: "";
        position: absolute;
        height: 200%;
        width: 10%;
        background: rgba($color:$theme_color, $alpha: .8);
        transform: translate(-50%, -30%) rotate(45deg);
        transition: .5s all cubic-bezier(0.2, 1, 0.25, 1);
        left: -50%;
    }

    &:hover::before {
        left: 150%;
    }
}

.regularLineMove {
    &:hover {
        // text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    }

    &::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 0;
        height: 1px;
        background-color: #000;
        transition: .2s all;
    }

    &:hover::before {
        left: 0;
        width: 100%;
    }
}

// .wave-box {
//     display: inline-block; // padding: 4px;
//     border: 4px solid #26a597;
//     border-radius: 50%;
//     &>.wave {
//         position: relative;
//         width: 200px;
//         height: 200px;
//         background-color: #26a597;
//         border-radius: 50%;
//         overflow: hidden;
//         &::before,
//         &::after {
//             content: "";
//             position: absolute;
//             width: 400px;
//             height: 400px;
//             top: 50px;
//             left: 50%;
//             background-color: rgba(255, 255, 255, .4);
//             border-radius: 45%;
//             transform: translate(-50%, -70%) rotate(0);
//             animation: rotate 6s linear infinite, vertical 12s linear infinite;
//             z-index: 10;
//         }
//         &::after {
//             border-radius: 47%;
//             background-color: rgba(255, 255, 255, .9);
//             transform: translate(-50%, -70%) rotate(0);
//             animation: rotate 10s linear -5s infinite, vertical 12s linear infinite;
//             z-index: 20;
//         }
//     }
// }

// @keyframes rotate {
//     50% {
//         transform: translate(-50%, -73%) rotate(180deg); // top: 100px;
//     }
//     100% {
//         transform: translate(-50%, -70%) rotate(360deg); // top: 0;
//     }
// }

.container {
    position: absolute; // width: 200px;
    // height: 200px;
    // padding: 5px;
    // border: 5px solid rgb(118, 218, 255);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); // border-radius: 50%;
    overflow: hidden;
}

// https://www.zhangxinxu.com/wordpress/2019/06/cssconf-css-idea/
// https://codepen.io/JowayYoung/pen/JjPEdWO?editors=1100
.stretching-column {
    overflow: hidden;
    border: 1px solid $divider_b;
    // width: 600px;
    height: calc(100vh - 94px);
    line-height: 20px;
    font-size: 16px;
    // color: #f90;

    .left {
        overflow: hidden;
        float: left;
        position: relative;
        height: 100%;
    }

    .right {
        overflow: hidden;
        padding: 10px;
        height: 100%;
        // background-color: #f0f0f0;
        word-break: break-all;
    }
}

.resize-bar {
    overflow: scroll;
    width: 50vw;
    height: 100%;
    opacity: 0;
    resize: horizontal;

    &::-webkit-scrollbar {
        // width: 200px;
        height: 100%;
    }

    &:hover,
    &:active {
        &~.resize-line {
            border-left: 1px dashed $theme_color;
        }
    }
}

.resize-line {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    border-left: 1px solid $divider_b;
    border-right: 2px solid $divider_b;
    pointer-events: none;
}

.resize-content {
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 5px;
    top: 0;
    bottom: 0;
    word-break: break-all;

    textarea {
        width: 100%;
        height: 100%;
        border-color: transparent !important;

        &:focus {
            outline: none;
        }
    }
}

// https://www.zhangxinxu.com/wordpress/2019/06/better-css-scroll-indicator/
.indicator {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: linear-gradient(to right top, $theme_color 50%, transparent 50%) no-repeat;
    background-size: 100% calc(100% - 100vh);
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: darken;

    &:after {
        content: '';
        position: fixed;
        top: 2px;
        bottom: 0;
        right: 0;
        left: 0;
        background: #fff;
        z-index: 1;
    }
}

@mixin typing($count: 0, $duration: 0, $delay: 0) {
    overflow: hidden;
    border-right: 1px solid transparent;
    width: #{$count + 1}ch;
    font-family: Consolas, Monaco, Monospace;
    white-space: nowrap;
    animation: typing #{$duration}s steps($count + 1) #{$delay}s backwards,
    caret 500ms steps(1) #{$delay}s $duration * 2 forwards;
}

.auto-typing {
    @include typing(52, 5);
}

@keyframes typing {
    from {
        width: 0;
    }
}

@keyframes caret {
    50% {
        border-right-color: currentColor;
    }
}
